<?php

namespace app\admin\controller;

use think\Controller;
use think\exception\PDOException;
use think\Request;

class Login extends Controller
{
    // 登陆方法
    public function index()
    {
        // 不可以使用通用模板文件
        $this->view->engine->layout(false);

        $title = "登陆界面";

        return view("/login/index",[
            'title' => $title
        ]);
    }

    // 验证方法
    public function login(Request $request)
    {
        # 接受数据
        $data = $request->param();

        # 表单验证
        $rule = [
            'username|用户名' => "require|token",
            'password|密码' => 'require',
            'verify|验证码' => 'require|max:4|min:4|captcha'
        ];

        $validate = new \think\Validate($rule);

        if(!$validate->check($data))
        {
            $error = $validate->getError();
            $this->error($error);
            die;
        }

        // 对获取的密码进行加密。
        $data['password'] = md5Password($data['password']);
        
        // 开始匹配是否存在数据库中
        $result = \app\admin\model\Manager::where(['username'=>$data['username'],"password"=>$data['password']])->find();

        if(!empty($result)){
            // 登陆成功将信息存入到session中。
            $res = $result->toArray();

            session("info",$res);

            $this->success("登陆成功","admin/index/index");
            die;
        }else{

            $this->error("用户名或者密码错误","admin/login/index");
            die;
        }

    }
}
